<template>
  <h2>姓名：{{ name }}</h2>
  <h2>年龄：{{ age }}</h2>
  <h2>薪资：{{ job.j1.salary }} K</h2>
  <button @click="name += '~'">姓名变幻</button>
  <button @click="age++">增长年龄</button>
  <button @click="job.j1.salary++">增长薪资</button>
</template>

<script>
// Vue3中的computed 是一个组合式的api，所以需要通过import 进行引入。
import {reactive, toRefs} from 'vue';

export default {
  name: 'DemoPage',
  setup() {
    // 数据
    let person = reactive({
      name: '张三',
      age: 18,
      job: {
        j1: {
          salary: 20
        }
      }
    });

    // 返回一个对象（常用）
    return {
      // name: toRef(person, 'name'),
      // age: toRef(person, 'age'),
      // salary: toRef(person.job.j1, 'salary'),

      // 可以使用toRefs直接将对象的全部字段进行解析掉
      ...toRefs(person),
    }
  }
}
</script>

<style>

</style>